草庐IT

javascript - 捕获 window.onbeforeunload

全部标签

ruby - 如何在 ruby​​ 中进行命名捕获

我想命名从扫描中获取的字符串捕获。怎么做?"555-333-7777".scan(/(\d{3})-(\d{3})-(\d{4})/).flatten#=>["555","333","7777"]有没有可能变成这样{:area=>"555",:city=>"333",:local=>"7777"}或[["555","area"],[...]]我试过了"555-333-7777".scan(/((?)\d{3})-(\d{3})-(\d{4})/).flatten但它返回[] 最佳答案 您应该对命名捕获使用match,而不是scanm

ruby - 从 Ruby 运行命令显示和捕获输出

是否有某种方法可以从Ruby运行(shell)命令显示并捕获输出?也许在一些gem的帮助下?我所说的显示的意思不是在最后打印它,而是在它出现时打印出来,这样用户就可以在运行缓慢的命令时得到反馈。 最佳答案 你可以像这样运行系统调用:`sleep--help`或者像这样system"sleep--help"或者%x{sleep--help}如果是system,它将打印输出并返回true或nil,其他两种方法将返回输出附言哦。它是关于实时显示。所以。你可以使用这样的东西:system("ruby","-e100.times{|i|pi;

ruby - 在 ruby​​ 异常中捕获行号

考虑以下ruby​​代码测试.rb:beginputsthisFunctionDoesNotExistx=1+1rescueException=>epeend出于调试目的,我希望救援block知道错误发生在该文件的第4行。有干净的方法吗? 最佳答案 pe.backtrace我在没有来源的IRBsession上运行它,但它仍然提供了相关信息。=>["(irb):11:in`foo'","(irb):17:in`irb_binding'","/usr/lib64/ruby/1.8/irb/workspace.rb:52:in`irb_b

ruby - 错误 : SASS installation for windows

我在安装ruby​​后尝试安装sass,但出现以下错误,请帮我解决这个问题maradhak@WW730VW7X1688/c/softwares$gem-v2.2.2maradhak@WW730VW7X1688/c/softwares$geminstallsassERROR:Couldnotfindavalidgem'sass'(>=0),hereiswhy:Unabletodownloaddatafromhttps://rubygems.org/-SSL_connectreturned=1errno=0state=SSLv3readservercertificateB:certific

ruby - 无法在 Windows 上安装 Aptana Studio 3.6

我想在Windows下使用AptanaStudio进行Rails开发。我目前有不同的开发工具和ide启动并运行(如git/ruby/jdk),我也想安装AptanaStudio,但我不能。下载并运行安装程序后,它会正常启动,在我选择目标目录后,它会开始下载先决条件。我有几个问题:一段时间后,它尝试安装node.js(好吧,我不确定为什么,但随它去吧),有时它安装正常,但有时它只是没有错误地失败,只告诉我aptana不能'安装先决条件。如果偶然安装了node.js,它会尝试安装msysgit(同样,我不知道为什么,因为我已经安装了git并将其添加到PATH)。安装msysgit完成后,我

ruby - 在 Ruby 中捕获异常后重新引发(相同的异常)

我正在尝试通过捕获异常来提高我的Ruby技能。我想知道当您有多个方法调用时重新引发相同类型的异常是否很常见。那么,下面的代码有意义吗?是否可以重新引发相同类型的异常,还是我不应该在process方法中捕获它?classLogodefprocessbegin@processed_logo=LogoProcessor::create_image(self.src)rescueCustomExceptionraiseCustomExceptionendendendmoduleLogoProcessordefself.create_imageraiseCustomExceptionifsome

Ruby:捕获异常后继续循环

基本上,我想做这样的事情(用Python或类似的命令式语言):foriinxrange(1,5):try:do_something_that_might_raise_exceptions(i)except:continue#continuetheloopati=i+1我如何在Ruby中执行此操作?我知道有redo和retry关键字,但它们似乎重新执行“try”block,而不是继续循环:foriin1..5begindo_something_that_might_raise_exceptions(i)rescueretry#do_something_*again,withsameien

ruby-on-rails - TZInfo::DataSourceNotFound 在 Windows 上启动 Rails v4.1.0 服务器时出错

我使用RubyonRailsv4.1.0创建了一个新应用程序。尝试在Windows上启动服务器或控制台时,遇到以下错误:$railsserverBootingWEBrickRails4.1.0applicationstartingindevelopmenton....Exitingc:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/tzinfo-1.1.0/lib/tzinfo/data_source.rb:199:in`rescueincreate_default_data_source':Notimezonedatasource

ruby - 在 Windows 中安装 RubyGems

我是ruby新手。我尝试按照网站http://rubygems.org/pages/download中给出的步骤在我的PC上安装RubyGems.我从上述站点下载了软件包,将目录更改为安装程序所在的目录,并尝试在命令提示符下使用命令setup.rb运行安装程序。但是我弹出一个窗口,提示“Windows无法打开此文件”并提示我选择一个程序来打开此文件。我现在该怎么办?如果我做错了什么,请告诉我。 最佳答案 在Windows上设置Ruby开发环境:通过RubyInstaller安装Ruby:http://rubyinstaller.or

ruby - 在 ruby​​ 中捕获 Ctrl-c

我通过了一个长期运行的遗留ruby​​程序,该程序多次出现begin#dosomethingrescueException=>e#halttheexception'sprogressend贯穿其中。如果不追踪每一个可能的异常,这些异常可能正在处理(至少不是立即处理),我仍然希望能够使用CtrlC.而且我希望以一种只增加代码的方式这样做(这样我就不会影响现有的行为,或者在运行过程中错过其他捕获的异常。)[CtrlC是SIGINT,或SystemExit,这似乎等同于SignalException.new("INT")在Ruby的异常处理系统中。classSignalException,这